inspector: Fix object-valued properties
authorMatthias Clasen <mclasen@redhat.com>
Thu, 8 May 2014 05:17:35 +0000 (01:17 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 11 May 2014 02:04:23 +0000 (22:04 -0400)
The code for dealing with object-valued properties had several
bugs that lead to crashes. This change makes it work.

modules/inspector/prop-list.c
modules/inspector/property-cell-renderer.c
modules/inspector/window.ui

index 938ee320e508ee7e596227bf339563ad247cd91f..6d10928d93d70dcb65ec036177d8162a572a0679 100644 (file)
@@ -81,7 +81,6 @@ get_property (GObject    *object,
     {
       case PROP_WIDGET_TREE:
         g_value_take_object (value, pl->priv->widget_tree);
-        g_object_set_data (G_OBJECT (pl->priv->value_renderer), "gtk_inspector-widget-tree", pl->priv->widget_tree);
         break;
 
       case PROP_CHILD_PROPERTIES:
@@ -109,6 +108,7 @@ set_property (GObject      *object,
     {
       case PROP_WIDGET_TREE:
         pl->priv->widget_tree = g_value_get_object (value);
+        g_object_set_data (G_OBJECT (pl->priv->value_renderer), "gtk-inspector-widget-tree", pl->priv->widget_tree);
         break;
 
       case PROP_CHILD_PROPERTIES:
index a0a2cf94ce58f4d51eef916c6525323bae7ed5ee..10d989870dc8c5622ea06b853b0dd4fcf5b5d4a9 100644 (file)
@@ -261,7 +261,7 @@ start_editing (GtkCellRenderer      *renderer,
 
   if (G_VALUE_HOLDS_OBJECT (&gvalue))
     {
-      GtkInspectorWidgetTree *widget_tree = g_object_get_data (G_OBJECT (renderer), "gtk_inspector-widget-tree");
+      GtkInspectorWidgetTree *widget_tree = g_object_get_data (G_OBJECT (renderer), "gtk-inspector-widget-tree");
       GObject *prop_object = g_value_get_object (&gvalue);
       GtkTreeIter iter;
 
index 6c364ab910832252ad74ef37a1cb13904202c28a..8fa1a1cb7ec9ff6b0151c4aabebe3e2147b01d69 100644 (file)
                           <object class="GtkInspectorPropList" id="prop_list">
                             <property name="visible">True</property>
                             <property name="child-properties">False</property>
+                            <property name="widget-tree">widget_tree</property>
                           </object>
                         </child>
                       </object>
                           <object class="GtkInspectorPropList" id="child_prop_list">
                             <property name="visible">True</property>
                             <property name="child-properties">True</property>
+                            <property name="widget-tree">widget_tree</property>
                           </object>
                         </child>
                       </object>